package com.guyan.service;

import com.github.pagehelper.PageInfo;
import com.guyan.entity.Category;
import com.guyan.vo.CategoryTreeVo;
import com.guyan.vo.ResultVo;

import java.util.List;

/**
 * ClassName： CategoryService
 * Date： 2021/5/31 15:47
 *
 * @author 孤焰
 * @version 1.0
 **/

public interface CategoryService {
    /**
     * 返回所有叶子分类
     * @return
     */
    List<Category> categoryLeafList();

    /**
     * 返回所有叶子节点（分页）
     * @param page
     * @param limit
     * @param search
     * @return
     */
    PageInfo categoryLeafListPage(Integer page, Integer limit, String search);

    /**
     * 根据Id更新状态值
     * @param category
     * @return
     */
    ResultVo updateCategoryById(Category category);

    /**
     * 增加分类
     * @param category
     * @return
     */
    ResultVo addCategory(Category category);

    /**
     * 获取类别树列表
     * @return
     */
    List<CategoryTreeVo> categoryTreeList();

    /**
     * 通过Id删除类别
     * @param id
     * @return
     */
    ResultVo delCategory(Integer id);

    /**
     * 通过id查找category
     * @param id
     * @return
     */
    Category getCategoryById(Integer id);
}
